Skip to main content
Version: v2.10.1

Requirement Checklist (GCP)

Software Requirements​

Ensure the following command-line tools (CLIs) are available on the machine you install from:

  • kubectl
  • helm
  • helmfile
  • gcloud (Google Cloud CLI)

We don't pin any specific versions in the Yeedu installer. Use kubectl and helm releases that are compatible with the Kubernetes version of your cluster, and a helmfile release built against that helm version.

note

yeedu-core-services.sh installs kubectl, Helm, the Helmfile CLI, psql, rabbitmqadmin and the Redis CLI on the machine if they're missing, adapting to the machine's architecture and OS.

Cloud Requirements​

1. Google Cloud Platform (GCP) project

Make sure to have an active GCP project.

2. Google Cloud Platform (GCP) Service Account

Create a service account with following permissions: Compute Engine Admin, VPC Reader, GCR Reader, Storage Object Admin, Kubernetes admin

3. Google Kubernetes Engine (GKE)

Configure Google Kubernetes Engine with the following recommendations:

  • Namespace: yeedu (Recommended)
  • Cluster Version: a Kubernetes version that is still in standard support on GKE
  • Node capacity: at least 8 vCPU and 16 GB RAM available to the Yeedu control-plane workloads (the Yeedu CloudFormation template sizes its control-plane host at "Min 8 core, 16 GB RAM")

4. Google Cloud Storage (GCS)

Create a bucket in the same project with Storage Object Admin Access. Ensure the service account from Step 2 has the necessary read and write permissions.

5. Google Cloud SQL (PostgreSQL)

Deploy a Google Cloud SQL (PostgreSQL) instance with the following configuration:

  • Engine: PostgreSQL 15.x
  • Database Name: yeedu
  • Backup Policy: Everyday (For Production)
  • High Availability and DR: Recommended for Production
note

Yeedu doesn't publish a capacity model for the metadata database. The only version constraint pinned anywhere in the product is PostgreSQL >=15 and <16 (the Yeedu AWS CloudFormation template, automation/aws/yeedu-platform.yaml). Size CPU, memory and storage to your own workload.

6. Google Container Registry (GCR)

Create an Google Container Registry (GCR) for storing Docker images. Refer to setup-docker-registry section for a list of container registries to be created and instructions on uploading Yeedu images.

7. Google Stackdriver

Set up Google Cloud Logging to store logs. Ensure the service account from Step 2 has the necessary write access.

8. Firewalls

Ensure the following ports are open:

Service NamePortAccess From WorkstationAccess From Apache Spark ClusterAccess From Yeedu Control Plane Server
REST API8080YesYesYes
Jupyter Notebook8888-9088NoNoYes
RabbitMQ UI15672YesNoNo
Redis6379NoNoYes
RabbitMQ5672NoYesYes
PostgreSQL5432YesYesYes
History-server10000YesNoYes
Grafana3000YesYesYes
Influx DB8086NoYesYes
LDAP389NoNoYes

The following ports are also used by the platform. They're defined in bin/yeedu-env.sh:

Service NamePortEnvironment variable / notes
Yeedu UI5173YEEDU_UI_PORT
Vault8200YEEDU_RESTAPI_VAULT_PORT
Vault UI9200YEEDU_RESTAPI_VAULT_UI_PORT
Yeedu Functions scheduler5171YEEDU_FUNCTIONS_SCHEDULER_PORT
Yeedu Functions proxy5172YEEDU_FUNCTIONS_PROXY_PORT
Cache Proxy8765YEEDU_CACHE_PROXY_PORT; used only when YEEDU_CACHE_PROXY_ENABLED is true
Scheduler (Airflow)8081YEEDU_SCHEDULER_PORT; used only when YEEDU_ENABLE_SCHEDULER is true
AssistantX8000 / 8001YEEDU_ASSISTANT_PORT / YEEDU_ASSISTANT_FASTAPI_PORT; used only when YEEDU_ASSISTANT_ENABLED is true
Filestore (NFS)2049Required from the control-plane host to the Filestore instance

Make sure to fulfill these prerequisites for a successful Yeedu installation.

Google Cloud Filestore prerequisites​

  • Provision a Filestore instance within a Google Cloud project.
  • Ensure the Filestore instance resides in the same VPC network and subnet as the connected resources.
  • Access Control: Grant admin access to the listed ip ranges.